package Day_0204.Redis;

/**
 * @author zxc
 * @date 2023/02/04 21:42
 **/
public class Redis_Memcache {
    public static void main(String[] args) {
        /**
         * 为啥子使用Redis而不去使用Memcache呢？
         * ===》
         * Memcache 与 Redis 区别
         * 1.Redis 和 Memcache 都是将数据存放在内存中，都是内存数据库。
         * 不过 Memcache 还可用于缓存其他东西，例如图片、视频等等。
         *
         * 2.Memcache 仅支持key-value结构的数据类型，
         * Redis不仅仅支持简单的key-value类型的数据，同时还提供list，set，hash等数据结构的存储。
         *
         * 3.虚拟内存– Redis 当物理内存用完时，可以将一些很久没用到的value 交换到磁盘
         *
         * 4.分布式–设定 Memcache 集群，利用 magent 做一主多从/一主一从;
         * Redis 可以做一主多从/一主一从
         *
         * 5.存储数据安全– Memcache 挂掉后，数据没了；
         * Redis 可以定期保存到磁盘（Redis支持数据持久化）
         *
         * 6.Memcache 的单个value最大 1m ， Redis 的单个value最大 512m 。
         *
         * 7.灾难恢复– Memcache 挂掉后，数据不可恢复;
         * Redis 数据丢失后可以通过 aof 恢复
         *
         * 8.Redis 原生就支持集群模式， Redis3.0 版本中，官方便能支持Cluster模式了，
         * Memcached 没有原生的集群模式，需要依赖客户端来实现，然后往集群中分片写入数据。
         *
         * 9.Memcached 网络IO模型是多线程，非阻塞IO复用的网络模型，原型上接近于 nignx 。
         * 而 Redis使用单线程的IO复用模型，自己封装了一个简单的 AeEvent 事件处理框架，主要实现类epoll，kqueue 和 select ，更接近于Apache早期的模式。
         *
         */
    }
}
